package exception;

import java.awt.*;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.SQLException;

/**
 * 子类重写超类含有throws声明异常抛出的方法时，
 * 对throws的重写规则
 * */
public class ThrowsDemo {//超类
    public void doSome()throws IOException, AWTException{}
}


class SubClass extends ThrowsDemo{//子类
//    public void doSome()throws IOException, AWTException{}

    //子类重写超类方法时，可以不再抛出任何异常
//    public void doSome(){}

    //允许仅抛出超类方法抛出的部分异常
//    public void doSome()throws IOException{}

    //允许抛出超类方法声明抛出异常的子类型异常
//    public void doSome()throws FileNotFoundException{}

    //不允许抛出额外异常（超类方法没有声明抛出的且也不存在继承关系的异常）
//       public void doSome()throws SQLException {}

    //不允许抛出超累方法声明抛出异常超类型异常
//    public void doSome()throws Exception{}


}
